﻿using System;

namespace Loki.Utils
{
    public interface IErrorService : IService
    {
        #region Error building
        T BuildError<T>(string P_Message, ILog P_Log, Exception P_InnerException) where T : Exception;

        T BuildErrorFormat<T>(string P_Message, ILog P_Log, Exception P_InnerException, params object[] P_Params) where T : Exception;

        T BuildError<T>(string P_Message, ILog P_Log) where T : Exception;

        T BuildErrorFormat<T>(string P_Message, ILog P_Log, params object[] P_Params) where T : Exception;
        #endregion

        #region Logger
        void LogError(string P_Message, ILog P_Log, Exception P_Ex, params object[] P_Params);
        #endregion
    }
}
